using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using Entidades;
public partial class ABMPerfil : System.Web.UI.Page
{
	protected void Page_Load(object sender, System.EventArgs e)
	{
		if (!Page.IsPostBack) {
			preparaAlta();
		}
	}
	protected void linkPerfil_Click(object sender, System.EventArgs e)
	{
		traerTodos();
	}
	private void traerTodos()
	{
		try {
			grdPerfil.DataSource = Perfil.TraerTodos();
			grdPerfil.DataBind();
		} catch (Exception ex) {
			grdPerfil.DataSource = null;
			grdPerfil.DataBind();
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void linkAceptar_Click(object sender, System.EventArgs e)
	{
		try {
			Perfil perfil = new Perfil();
			perfil.IdUsuario = int.Parse( txtIdUsuario.Text.ToString());
			perfil.Apellido = txtApellido.Text.ToString();
			perfil.Nombre = txtNombre.Text.ToString();
			perfil.FechaNacimiento = DateTime.Parse(txtFechaNacimiento.Text.ToString());
			perfil.Sexo = txtSexo.Text.ToString();
			perfil.Telefono = int.Parse(txtTelefono.Text.ToString());
			perfil.FechaModificacion = DateTime.Parse(txtFechaModificacion.Text.ToString());
			if (ViewState["Id"] == null) {
				perfil.Alta();
			} else {
				perfil.Id = int.Parse(ViewState["Id"].ToString());
				perfil.Modificar();
			}
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		} finally {
			blanquearCampos();
		}
	}
	protected void grdPerfil_RowDeleting(object sender, System.Web.UI.WebControls.GridViewDeleteEventArgs e)
	{
		try {
			Perfil perfil = new Perfil(int.Parse( grdPerfil.DataKeys[e.RowIndex].Values["Id"].ToString()));
			perfil.Baja();
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void grdPerfil_SelectedIndexChanged(object sender, System.EventArgs e)
	{
		try {
			preparaModificacion();
			ViewState["Id"] = grdPerfil.SelectedDataKey.Values["Id"];
			Perfil perfil = new Perfil(int.Parse(ViewState["Id"].ToString()));
            txtIdUsuario.Text = perfil.IdUsuario.ToString();
			txtApellido.Text = perfil.Apellido.ToString();
			txtNombre.Text = perfil.Nombre.ToString();
			txtFechaNacimiento.Text = perfil.FechaNacimiento.ToString();
			txtSexo.Text = perfil.Sexo.ToString();
			txtTelefono.Text = perfil.Telefono.ToString();
			txtFechaModificacion.Text = perfil.FechaModificacion.ToString();
		} catch (Exception ex) {
			LUM.lum.mensaje(ex.Message);
		}
	}
	protected void linkNuevo_Click(object sender, System.EventArgs e)
	{
		preparaAlta();
	}
	private void blanquearCampos()
	{
		txtIdUsuario.Text = "";
		txtApellido.Text = "";
		txtNombre.Text = "";
		txtFechaNacimiento.Text = "";
		txtSexo.Text = "";
		txtTelefono.Text = "";
		txtFechaModificacion.Text = "";
	}
	private void preparaAlta()
	{
		ViewState.Remove("Id");
		lbl.Text = "Alta de datos";
	}

	private void preparaModificacion()
	{
		lbl.Text = "Modificacion de datos";
	}
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        grdPerfil.DataSource = Perfil.TraerTodosPorSexo(comboSexo.SelectedValue);
        grdPerfil.DataBind();
    }
}
